Defining Metrics on MS SQL Server
Since MS SQL does not support an aggregate function on an expression containing an aggregate or a sub-query, such metrics will need to be defined differently in MS SQL.
Any metric that contains in its formula an aggregate function (ex. SUM, AVG, MAX, MIN, COUNT) and has a Report: Aggregate value other than 'NONE' will trigger an error on MS SQL and will require redesigning the metric's formula.
The following example shows how to convert a metric formula using two levels of aggregation.
Example
On Oracle:
| Report: Aggregate As | SUM |
| Collect: Table | bl (Buildings table) |
| Collect: Formula | area_ls_negotiated/(SELECT COUNT(em_id) FROM em)
|
| Metric Granularity Assignments | by Building |
On MS SQL:
| Report: Aggregate As | NONE |
| Collect: Table | bl (Buildings table) |
| Collect: Formula | (SELECT SUM(area_ls_negotiated) FROM bl)/(SELECT COUNT(em_id) FROM em)
|
| Metric Granularity Assignments | by Building |